<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
	<title>任务调度管理</title>
	<meta name="decorator" content="default"/>
	<script type="text/javascript">
		$(document).ready(function() {
			
		});
		function page(n,s){
			$("#pageNo").val(n);
			$("#pageSize").val(s);
			$("#searchForm").submit();
        	return false;
        }
	</script>
</head>
<body>
	<ul class="nav nav-tabs">
		<li class="active"><a href="${ctx}/quartz/scheduleJob/">任务调度列表</a></li>
		<shiro:hasPermission name="quartz:scheduleJob:edit"><li><a href="${ctx}/quartz/scheduleJob/form">任务调度添加</a></li></shiro:hasPermission>
	</ul>
	<form:form id="searchForm" modelAttribute="schedulejob" action="${ctx}/quartz/scheduleJob/" method="post" class="breadcrumb form-search">
		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
		<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
		<ul class="ul-form">
			<li><label>名称：</label>
				<form:input path="jobName" htmlEscape="false" maxlength="255" class="input-medium"/>
			</li>
			<li><label>组名称：</label>
				<form:input path="jobGroup" htmlEscape="false" maxlength="255" class="input-medium"/>
			</li>
			<li><label>状态：</label>
				<form:select path="jobStatus" class="input-medium">
					<form:option value="" label=""/>
					<form:options items="${fns:getDictList('')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
				</form:select>
			</li>
			<li><label>表达式：</label>
				<form:input path="cronExpression" htmlEscape="false" maxlength="255" class="input-medium"/>
			</li>
			<li><label>类路径：</label>
				<form:input path="beanClass" htmlEscape="false" maxlength="255" class="input-medium"/>
			</li>
			<li><label>方法名称：</label>
				<form:input path="methodName" htmlEscape="false" maxlength="255" class="input-medium"/>
			</li>
			<li><label>类型：</label>
				<form:radiobuttons path="delFlag" items="${fns:getDictList('del_flag')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
			</li>
			<li class="btns"><input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/></li>
			<li class="clearfix"></li>
		</ul>
	</form:form>
	<sys:message content="${message}"/>
	<table id="contentTable" class="table table-striped table-bordered table-condensed">
		<thead>
			<tr>
				<th>任务名称</th>
				<th>组名称</th>
				<th>状态</th>
				<th>是否并发</th>
				<th>时间表达式</th>
				<th>类路径</th>
				<th>方法</th>
				<th>备注</th>
				<shiro:hasPermission name="quartz:scheduleJob:edit"><th>操作</th></shiro:hasPermission>
			</tr>
		</thead>
		<tbody id="idtest">
		<c:forEach items="${page.list}" var="schedulejob" varStatus="status">
			<tr>
				<td>${schedulejob.jobName}</td>
				<td>${schedulejob.jobGroup}</td>
				<td width="6%">
					<c:choose>
						<c:when test="${schedulejob.jobStatus=='1' }">
							<a href="${ctx}/quartz/scheduleJob/changeJobStatus?id=${schedulejob.id}&cmd='stop'">停止</a>
							<a href="${ctx}/quartz/scheduleJob/changeJobStatus?id=${schedulejob.id}&cmd='pause'">暂停</a>
						</c:when>
						<c:when test="${schedulejob.jobStatus=='2' }">
							<a href="${ctx}/quartz/scheduleJob/changeJobStatus?id=${schedulejob.id}&cmd='resume'">恢复</a>
						</c:when>
						<c:when test="${schedulejob.jobStatus=='0' }">
							<a href="${ctx}/quartz/scheduleJob/changeJobStatus?id=${schedulejob.id}&cmd='start'">开启</a>
						</c:when>
					</c:choose>
				</td>
				<td>${fns:getDictLabel(schedulejob.isConcurrent, 'yes_no', '无')}</td>
				<td>${schedulejob.cronExpression}</td>
				<td>${schedulejob.beanClass}</td>
				<td>${schedulejob.methodName}</td>
				<td>${schedulejob.remarks}</td>
				<shiro:hasPermission name="quartz:scheduleJob:edit"><td>
					<a href="javascript:" onclick="updateCron('${schedulejob.id}',${status.index})">更新cron</a>
    				<a href="${ctx}/quartz/scheduleJob/form?id=${schedulejob.id}">修改</a>
					<a href="${ctx}/quartz/scheduleJob/delete?id=${schedulejob.id}" onclick="return confirmx('确认要删除该任务调度吗？', this.href)">删除</a>
				</td></shiro:hasPermission>
			</tr>
		</c:forEach>
		</tbody>
	</table>
	<div class="pagination">${page}</div>
	
<script>
	function updateCron(id,index) {
		var html = "<div style='padding:10px;'>输入表达式：<input type='text' id='cron' name='cron' /><a href='javascript:de()'>示例</a></div>";
		var submit = function (v, h, f) {
		    if (f.yourname == '') {
		        $.jBox.tip("请输入表达式。", 'error', { focusId: "cron" }); // 关闭设置 yourname 为焦点
		        return false;
		    }
		    $.ajax({
		        type:"POST",
		        dataType:"JSON",
		        contentType:"application/json",
				url : "${ctx}/quartz/scheduleJob/updateCron?id="+id+"&cron="+f.cron,
				data : "",
				success : function(data) {
		           	 if (data.success) {
		           		$("#idtest").find("tr").eq(index).find("td").eq(4).html(f.cron);
					    $.jBox.tip(data.result);
					    return true;
		        	 }else{
		        		$.jBox.tip(data.result, 'error');
				        return false;
		        	 }
				}
			});
		};
		$.jBox(html, { title: "请输入表达式", submit: submit });
	}
	
	function de(){
    	var html = $("#attrInfo").html();
    	var mainWin = top.$.jBox;
        mainWin(html,{
           buttons:{"确定":"ok","关闭":true},width:1030,title:"常用表达式", 
           bottomText:"常用表达式示例",submit:function(v, h, f){
               if(v=="ok"){
                }
           }, loaded:function(h){
               $(".jbox-content", top.document).css("overflow-y","hidden");
           }
       });
	}
	
</script>
<div id="attrInfo" style="display:none">
	<table class="table table-striped table-bordered table-condensed" align="center" style="width:1000px">
		<thead>
	       <tr>
		       <th style="text-align:center">表达式</th>
		       <th style="text-align:center">作用</th>
		       <th style="text-align:center">表达式</th>
		       <th style="text-align:center">作用</th>
	       </tr>
	  </thead>
	  <tbody>
	    <tr>
	    	<td style="text-align:center" colspan="4">
	    	<b>数据收集自网络，谨慎使用</b><br/>
	    	这些星号由左到右按顺序代表 ：     *    *     *     *    *     *   *     
                              格式： [秒] [分] [小时] [日] [月] [周] [年] </td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 0 12 * * ?</td>
	    	<td style="text-align:center"> 每天12点触发 </td>
	    	<td style="text-align:center">0 0 12 * * ?</td>
	    	<td style="text-align:center"> 每天12点触发 </td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 15 10 ? * *</td>
	    	<td style="text-align:center">每天10点15分触发 </td>
	    	<td style="text-align:center">0 15 10 * * ?</td>
	    	<td style="text-align:center">每天10点15分触发</td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 15 10 * * ? 2005</td>
	    	<td style="text-align:center">2005年每天10点15分触发 </td>
	    	<td style="text-align:center">0 * 14 * * ?</td>
	    	<td style="text-align:center">每天下午的 2点到2点59分每分触发</td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 0/5 14 * * ?</td>
	    	<td style="text-align:center">每天下午的 2点到2点59分(整点开始，每隔5分触发)</td>
	    	<td style="text-align:center">0 0/5 14,18 * * ?</td>
	    	<td style="text-align:center">每天下午的 2点到2点59分(整点开始，每隔5分触发)</td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 0-5 14 * * ? </td>
	    	<td style="text-align:center">每天下午的 2点到2点05分每分触发 </td>
	    	<td style="text-align:center">0 10,44 14 ? 3 WED</td>
	    	<td style="text-align:center">3月分每周三下午的 2点10分和2点44分触发 （特殊情况，在一个时间设置里，执行两次或 两次以上的情况）</td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 59 2 ? * FRI</td>
	    	<td style="text-align:center">每周5凌晨2点59分触发； </td>
	    	<td style="text-align:center">0 15 10 ? * MON-FRI</td>
	    	<td style="text-align:center">从周一到周五每天上午的10点15分触发</td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 15 10 15 * ? </td>
	    	<td style="text-align:center">每月15号上午10点15分触发</td>
	    	<td style="text-align:center">0 15 10 L * ?</td>
	    	<td style="text-align:center">每月最后一天的10点15分触发</td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 15 10 ? * 6L </td>
	    	<td style="text-align:center">每月最后一周的星期五的10点15分触发</td>
	    	<td style="text-align:center">0 15 10 ? * 6L 2002-2005 </td>
	    	<td style="text-align:center">从2002年到2005年每月最后一周的星期五的10点15分触发</td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 15 10 ? * 6#3  </td>
	    	<td style="text-align:center">每月的第三周的星期五开始触发</td>
	    	<td style="text-align:center">0 0 12 1/5 * ?</td>
	    	<td style="text-align:center">每月的第一个中午开始每隔5天触发一次 </td>
	    </tr>
	    <tr>
	    	<td style="text-align:center">0 11 11 11 11 ?</td>
	    	<td style="text-align:center">每年的11月11号 11点11分触发</td>
	    	<td style="text-align:center"></td>
	    	<td style="text-align:center"></td>
	    </tr>
	  </tbody>
	</table>
</div> 

</body>
</html>